﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace Cataloger.Kontrolki
{
    public class TreeNodeCataloger:TreeNode
    {
		#region Constructors (4) 

        public TreeNodeCataloger(string tekst)
        {
            this.Text = tekst;
            this.Tag = tekst;
            this.ImageKey = this.SelectedImageKey = "katalogi";
            this.Name = tekst;
            if (Globalne.WczytaneKatalogi.Count > 0)
            {
                this.Nodes.Add("*");
            }
        }

        public TreeNodeCataloger(Katalog kat)
        {
            kat.ZmianaNazwy += new EventHandler(kat_ZmianaNazwy);
            this.Text = kat.Nazwa;
            this.ForeColor = kat.Kolor;
            this.Tag = kat;
            this.ImageKey = this.SelectedImageKey = kat.Klucz;
            this.Name = kat.Nazwa;
            if (kat.Nosniki.Count > 0)
            {
                this.Nodes.Add("*");
            }
        }


        void kat_ZmianaNazwy(object sender, EventArgs e)
        {
            this.Text = (sender as Katalog).Nazwa;
        }

        public TreeNodeCataloger(Nosnik nos)
        {
            nos.ZmianaNazwy += new EventHandler(nos_ZmianaNazwy);
            this.Text = nos.Nazwa;
            this.Tag = nos;
            this.Name = nos.Nazwa;
            this.ImageKey = nos.Klucz;
            this.SelectedImageKey = nos.Klucz;
            if (nos.Root.Podflodery.Count > 0)
            {
                this.Nodes.Add("*");
            }
        }

        void nos_ZmianaNazwy(object sender, EventArgs e)
        {
            this.Text = (sender as Nosnik).Nazwa;
        }

        public TreeNodeCataloger(Folder fold)
        {
            this.Text = fold.Nazwa;
            this.Tag = fold;
            this.Name = fold.Nazwa;
            this.ImageKey = "closeFolder";
            this.SelectedImageKey = "openFolder";
            if (fold.Podflodery.Count > 0)
            {
                this.Nodes.Add("*");
            }
        }

		#endregion Constructors 
    }
}
